#阶段练习：人生重开模拟器
import random
import sys

# (1)打印欢迎界面
print('+------------------------------------------------+')
print('|                                                |')
print('|                                                |')
print('|              是你想要的生活吗？                   |')
print('|           欢迎来到人生重开模拟器！                 |')
print('|                                                |')
print('|                                                |')
print('+------------------------------------------------+')

# 暂停0.5秒
import time
time.sleep(0.5)

# (2)设置初识属性：颜值，体制，智力，家境（各自1-10），总和不超过20：
print("开始设置初识属性...")
while True:
    face = 11
    strong = 11
    ip = 11
    home = 11
    while face > 10 or face < 1:
        face = int(input("颜值（1-10）： "))
        if face > 10 or face < 1:
            print("颜值输入有误，请重新输入...")
    while strong > 10 or strong < 1:
        strong = int(input("体质（1-10）： "))
        if strong > 10 or strong < 1:
            print("体质输入有误，请重新输入...")
    while ip > 10 or ip < 1:
        ip = int(input("智力（1-10）： "))
        if ip > 10 or ip < 1:
            print("智力输入有误，请重新输入...")
    while home > 10 or home < 1:
        home = int(input("家境（1-10）： "))
        if home > 10 or home < 1:
            print("家境输入有误，请重新输入...")
    if face + strong + ip + home > 20 :
        print("属性点分配出错，请重新设置...")
        continue
    print("设置属性完毕！")
    print(f"颜值：{face} 体质：{strong} 智力：{ip} 家境：{home}")
    break

# (3)随机生成性别，利用随机数（1，6）偶数为女孩，单数为男孩
# 左闭右闭
point = random.randint(1,6)
if point % 2 == 1:
    gender = 'boy'
    print('你是一个男孩')
else:
    gender = 'girl'
    print('你是一个女孩')

#(4)生成角色出生背景
#判断：家境 + 随机数（1，3）
point = random.randint(1,3)
if home == 10:
    #第一档
    if point == 1:
        print('你出生在超一线城市，父母是高官政要')
        face += 3
        strong += 2
        ip += 2
        home += 3
    elif point == 2:
        print('你出生在超一线城市，父母是企业CE0')
        face += 3
        strong += 1
        ip += 1
        home += 2
    else:
        print('你出生在超一线城市，父母是高级工程师')
        face += 2
        strong += 2
        ip += 4
        home += 1
elif 7 <= home <= 9:
    #第二档
    if point == 1:
        print('你出生在一线城市，父母是机关人员')
        face += 2
        strong += 1
        ip += 2
        home += 2
    elif point == 2:
        print('你出生在一线城市，父母是企业高管')
        face += 2
        strong += 1
        ip += 1
        home += 3
    else:
        print('你出生在一线城市，父母是大学教授')
        face += 1
        strong += 2
        ip += 3
        home += 2
elif 4 <= home <= 6:
    #第三档
    if point == 1:
        print('你出生在三线城市，父母是公务员')
        face += 1
        strong += 2
        ip += 2
        home += 1
    elif point == 2:
        print('你出生在三线城市，父母是老师')
        face += 1
        strong += 2
        ip += 2
        home += 1
    else:
        print('你出生在三线城市，父母是个体户')
        face += 1
        strong += 1
        ip += 2
        home += 1
else:
    #第四档
    if point == 1:
        print('你出生在县城，父母是政府人员')
        strong += 1
        ip += 1
        home -= 1
    elif point == 2:
        print('你出生在城镇，父母是医生')
        strong += 2
        ip += 1
        home -= 1
    else:
        print('你出生在乡村，父母是农民')
        face -= 2
        strong += 3
        ip += 1
        home -= 1

print(f"颜值：{face} 体质：{strong} 智力：{ip} 家境：{home}")

# (4)各阶段经历：
# 幼年阶段
for age in range(1,11):
    info = f'你已经{age}岁，'
    point = random.randint(1,3)
    # 接下来编写各种事件
    #性别：
    if gender == 'girl' and point == 1 and home <= 3:
        info += '你们家重男轻女思想严重，你被遗弃了...'
        print(info)
        print('游戏结束！')
        sys.exit(0)
    # 体质：
    elif strong <= 5 and point < 3:
        info += '你生了一场病，'
        if home >= 5:
            info += '在父母的悉心照料下，你康复了'
            strong +1
            home -= 1
        else:
            info += '父母没精力照顾你，你身体更让糟糕了'
            strong -= 1
            if strong == 0:
                print("你因病而死，游戏结束！")
                sys.exit(0)
#     颜值
    elif face <= 4 and age >= 7:
        info += '你长得太丑了，别的小朋友不喜欢你，'
        if ip >= 4:
            info += '你决定用学习提升自己，转移注意力！'
            ip += 1
        else:
            if gender == 'boy':
                info += '你和别的小朋友经常打架！'
                strong += 1
                ip -= 1
            else:
                info += '你经常被欺负！'
                strong -= 1
# 智商
    elif ip < 5:
        info += '你看起来傻傻的、'
        if home >= 8 and age >= 6:
            info += '你的父母花钱把你送进了好的学校'
            ip += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动争取做运动员'
                strong += 1
            else:
                info += '你的父母让你保养皮肤'
                face += 1
        else:
            # 家境差
            info += '你的父母经常为此吵架'
            if point == 1:
                strong -= 1
            elif point == 2:
                ip -= 1
            else:
                pass
    else:
        # 健康成长
        info += '你健康成长、'
        if point == 1:
            info += '你更强壮了、'
            strong += 1
        elif point == 2:
            info += '你更好看了、'
            face += 1
        else:
             # '无事发生...'
            pass
    # 打印该年的事件
    print(info)
    print(f"颜值：{face} 体质：{strong} 智力：{ip} 家境：{home}")
    print("..........................................................")
    time.sleep(1)
